/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.com.menosehmais.dto;

import br.com.menosehmais.framework.converter.LocalDateTimeConverter;
import br.com.menosehmais.model.ProdutoDO;
import br.com.menosehmais.model.ServicoDeMarketingDO;
import org.joda.time.LocalDate;

/**
 *
 * @author Junior JAFJ
 */
public class ServicoDeMarketingDTO extends ProdutoDTO<ProdutoDO>{
    private Integer validadePlano;
    private LocalDate dtFimVigencia;
    private Integer qtdClique;
    private String tmpDtFimVigencia;

    public ServicoDeMarketingDTO() {
        super(new ProdutoDO());
    }

    public ServicoDeMarketingDTO(ServicoDeMarketingDO servico) {
        super(servico);
        this.setNome(servico.getNome());
        this.setDescricao(servico.getDescricao());
        this.setPreco(servico.getPreco());
        this.setStrClassificacaoLivre(servico.getStrClassificacaoLivre());
        this.setValidadePlano(servico.getValidadePlano());
        this.setDtFimVigencia(new LocalDate(
                Integer.parseInt(this.getTmpDtFimVigencia().substring(7, this.getTmpDtFimVigencia().length())),
                Integer.parseInt(this.getTmpDtFimVigencia().substring(4, 5)),
                Integer.parseInt(this.getTmpDtFimVigencia().substring(1, 2))));
        this.setQtdClique(servico.getQtdClique());
        this.setCreationDateTime(LocalDateTimeConverter.asString(servico.getCreationDateTime()));
    }

    public String getTmpDtFimVigencia() {
        return tmpDtFimVigencia;
    }

    public void setTmpDtFimVigencia(String tmpDtFimVigencia) {
        this.tmpDtFimVigencia = tmpDtFimVigencia;
    }

    public LocalDate getDtFimVigencia() {
        return dtFimVigencia;
    }

    public void setDtFimVigencia(LocalDate dtFimVigencia) {
        this.dtFimVigencia = dtFimVigencia;
    }

    public Integer getQtdClique() {
        return qtdClique;
    }

    public void setQtdClique(Integer qtdClique) {
        this.qtdClique = qtdClique;
    }

    public Integer getValidadePlano() {
        return validadePlano;
    }

    public void setValidadePlano(Integer validadePlano) {
        this.validadePlano = validadePlano;
    }

    @Override
    public ServicoDeMarketingDO toDomainObject() {
        ServicoDeMarketingDO servico = new ServicoDeMarketingDO();
        if (this.getId() != null) {
            servico.setId(this.getId().toString());
        }
        servico.setNome(this.getNome());
        servico.setPreco(this.getPreco());
        servico.setDescricao(this.getDescricao());
        servico.setStrClassificacaoLivre(this.getStrClassificacaoLivre());
        servico.setValidadePlano(this.getValidadePlano());
        servico.setDtFimVigencia(new LocalDate(
                Integer.parseInt(this.getTmpDtFimVigencia().substring(7, this.getTmpDtFimVigencia().length())),
                Integer.parseInt(this.getTmpDtFimVigencia().substring(4, 5)),
                Integer.parseInt(this.getTmpDtFimVigencia().substring(1, 2))));
        servico.setQtdClique(this.getQtdClique());
        servico.setQtdClique(this.getQtdClique());
        servico.setCreationDateTime(LocalDateTimeConverter.fromString(this.getCreationDateTime()));

        return servico;
    }
}
